// Created by WXX on 2021/10/13 14:32
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

/**
 * 执行用时：0 ms, 在所有 C++ 提交中击败了100.00%的用户
 * 内存消耗：7.2 MB, 在所有 C++ 提交中击败了9.32%的用户
 */
// 思路：如果最后位置选在偶数，则代价是所有的奇数个数；如果选在奇数，则代价是所有的偶数个数
class Solution {
public:
    int minCostToMoveChips(vector<int>& position) {
        int t = 0;
        for (auto x : position) t += x % 2;
        return min(t, (int)position.size() - t);
    }
};

int main() {

    vector<int> position = {2, 2, 2, 3, 3};
    cout << Solution().minCostToMoveChips(position) << endl;  // 2

    return 0;
}
